package demo4;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 石方旭
 * Date: 2022-08-08
 * Time: 14:44
 */
public class TestDemo1 {
    /**
     *扫描指定目录，并找到名称中包含指定字符的所有普通文件（不包含目录），并且后续询问用户是否要删除该文件
     * @param args
     */
    public static void main(String[] args) {
        //输入你要扫描的目录
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入你要扫描的目录");
        String rootPath = scan.next();
        //构造文件实例
        File root = new File(rootPath);
        if(!root.isDirectory()){
            System.out.println("你输入的不是目录,无法扫描!!!");
        }
        //输入你要删除的文件
        Scanner scan1 = new Scanner(System.in);
        System.out.println("请输入你要删除的文件");
        String toDelete = scan1.next();

        //去目录中查找要删除的文件
        scanDir(root,toDelete);

    }
    public static void scanDir(File root,String toDelete){

        File[] rooDir = root.listFiles();
        if(rooDir==null) return;
        for(File flies : rooDir){
            //是目录进行再次扫描它的子目录知道找到是文件询问是否删除
            if(flies.isDirectory()){
                scanDir(flies,toDelete);
            }else {
                //是普通文件看是否要删除
                isDelete(flies,toDelete);
            }
        }
    }

    public static void isDelete(File files,String toDelete){

        if(files.getName().contains(toDelete)){
            //文件名字与要删除的名相同看是否要删除
            try {
                System.out.println("你是否要删除Y/N" + files.getCanonicalPath());
                Scanner scan = new Scanner(System.in);
                String s = scan.next();
                if(s.equals("Y")){
                    files.delete();
                    System.out.println("成功删除" + files.getCanonicalPath());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }


}
